using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;

namespace OWED.Document
{
    public abstract class ChangeAtom
    {
        protected AbsolutePath path;

        /// <summary>
        /// Return the path of this ChangeAtom
        /// </summary>
        public AbsolutePath Path
        {
            get
            {
                return path;
            }
        }

        /// <summary>
        /// Apply the change atom to a XmlDocument, forming a XmlDocumnt
        /// that has all updates.
        /// </summary>
        /// <param name="document">document to mutate</param>
        public abstract void Apply(XmlDocument document);
    }
}
